package com.vchello.bean.user;

import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.vchello.bean.file.Folder;
import com.vchello.bean.security.UserRole;

/**
 * 
 * @author power
 *
 */
@TableName("user")
public class User extends Model<User> {

	private static final long serialVersionUID = 1L;

	@TableId("id")
	private int id;

	@TableField("user_name")
	private String userName;

	@TableField("logo")
	private String logo;

	@TableField("password")
	private String password;

	@TableField("email")
	private String email;

	@TableField("phone")
	private String phone;

	@TableField("type")
	private int type; // 1：机构 2:投资人 3:其他 4:后台超级管理员

	@TableField("status")
	private int status; // 用户状态 1：正常 2:锁定

	@TableField("create_time")
	private String createTime;

	@TableField("update_time")
	private String updateTime;

	@TableField("last_login_time")
	private String lastLoginTime;

	@TableField(exist=false)
	private List<UserRole> userChildren;

	@TableField(exist=false)
	private List<UserField> userFieldList;

	@TableField(exist=false)
	private List<UserArea> userAreaList;

	@TableField(exist=false)
	private List<UserProgress> userProgressList;

	@TableField(exist=false)
	private List<Folder> userFolderList;

	@TableField(exist=false)
	private UserRole userRole;

	@TableField(exist=false)
	private List<Invitation> invitationLsit;

	@TableField(exist = false)
	private String endTime; // 搜索时用的字段
	
	@TableField(exist = false)
	private String condition; // 搜索条件

	@TableField(exist = false)
	private String orderValue; // 排序字段
	
	@TableField(exist = false)
	private int orderType; // 排序类型 1:desc 2:asc

	@TableField(exist = false)
	private int isBindWeChat; // 是否绑定微信 1:绑定 2:未绑定

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getLogo() {
		return logo;
	}

	public void setLogo(String logo) {
		this.logo = logo;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

	public List<UserRole> getUserChildren() {
		return userChildren;
	}

	public void setUserChildren(List<UserRole> userChildren) {
		this.userChildren = userChildren;
	}

	public UserRole getUserRole() {
		return userRole;
	}

	public void setUserRole(UserRole userRole) {
		this.userRole = userRole;
	}

	public List<UserField> getUserFieldList() {
		return userFieldList;
	}

	public void setUserFieldList(List<UserField> userFieldList) {
		this.userFieldList = userFieldList;
	}

	public List<UserProgress> getUserProgressList() {
		return userProgressList;
	}

	public void setUserProgressList(List<UserProgress> userProgressList) {
		this.userProgressList = userProgressList;
	}

	public List<Folder> getUserFolderList() {
		return userFolderList;
	}

	public void setUserFolderList(List<Folder> userFolderList) {
		this.userFolderList = userFolderList;
	}

	public String getEndTime() {
		return endTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

	public String getCondition() {
		return condition;
	}

	public void setCondition(String condition) {
		this.condition = condition;
	}

	public List<UserArea> getUserAreaList() {
		return userAreaList;
	}

	public void setUserAreaList(List<UserArea> userAreaList) {
		this.userAreaList = userAreaList;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public String getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(String updateTime) {
		this.updateTime = updateTime;
	}

	public String getLastLoginTime() {
		return lastLoginTime;
	}

	public void setLastLoginTime(String lastLoginTime) {
		this.lastLoginTime = lastLoginTime;
	}

	public List<Invitation> getInvitationLsit() {
		return invitationLsit;
	}

	public void setInvitationLsit(List<Invitation> invitationLsit) {
		this.invitationLsit = invitationLsit;
	}

	public String getOrderValue() {
		return orderValue;
	}

	public void setOrderValue(String orderValue) {
		this.orderValue = orderValue;
	}

	public int getOrderType() {
		return orderType;
	}

	public void setOrderType(int orderType) {
		this.orderType = orderType;
	}

	public int getIsBindWeChat() {
		return isBindWeChat;
	}

	public void setIsBindWeChat(int isBindWeChat) {
		this.isBindWeChat = isBindWeChat;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

}